package cn.com.platform.dao;

import java.util.List;

import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;

import cn.com.platform.entity.AdvertItemEntity;

/***
 * 广告Dao
 * 
 * @author chenbinhuang 2017年6月14日
 * 
 */
public interface AdvItemDao extends JpaRepository<AdvertItemEntity, Long>, JpaSpecificationExecutor<AdvertItemEntity> {
	/** 广告列表 */
	@Query("select a from AdvertItemEntity a where a.cityId=?1 and a.advId=?2 order by a.orderby desc")
	public List<AdvertItemEntity> getItemList(Long cityId, Long advId);

	/** 广告列表 */
	@Query("select a from AdvertItemEntity a where a.cityId=?1 and a.advId=?2 order by a.orderby desc")
	public List<AdvertItemEntity> getItemList(Long cityId, Long advId, Pageable pageable);

	/** 广告列表 */
	@Query("select a from AdvertItemEntity a where a.advId=?1 order by a.orderby desc")
	public List<AdvertItemEntity> getItemList(Long advId, Pageable pageable);

	/** 广告列表 */
	@Query("select a from AdvertItemEntity a where a.advId=?1 order by a.orderby desc")
	public List<AdvertItemEntity> getItemList(Long advId);

	/***
	 * 获取相同城市id与广告位id数据
	 * 
	 * @param cityId
	 * @param advId
	 * @param deleteStatus
	 * @return
	 * @author chenbinhuang 2017年6月14日
	 */
	public List<AdvertItemEntity> findByCityIdAndAdvIdAndDeleteStatus(Long cityId, Long advId, boolean deleteStatus);

	/***
	 * 通过标题和id获取广告
	 * 
	 * @param id
	 * @param title
	 * @return
	 * @author chenbinhuang 2017年6月14日
	 */
	public AdvertItemEntity findByIdAndTitle(Long id, String title);

}
